#include "console.h"
#include "vesa.h"
#include "bitmap.h"
#include "string.h"

// 16 x 16 bitmap font size

uint32 ASCII_BITMAPS[127][BITMAP_SIZE] = {
    // first 32 entries are empty
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
    // 33 !
    {
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 34 "
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000011001100000,
        0b0000011001100000,
        0b0000011001100000,
        0b0000011001100000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 35 #
    {
        0b0000000000000000,
        0b0000011000110000,
        0b0000011000110000,
        0b0000011000110000,
        0b0000011000110000,
        0b0001111111111000,
        0b0000110001100000,
        0b0000110001100000,
        0b0000110001100000,
        0b0000110001100000,
        0b0011111111111000,
        0b0001100011000000,
        0b0001100011000000,
        0b0001100011000000,
        0b0001100011000000,
        0b0000000000000000
    },
    // 36 $
    {
        0b0000000000000000,
        0b0000000110000000,
        0b0000011111100000,
        0b0000111111110000,
        0b0000110110110000,
        0b0000110110000000,
        0b0000111110000000,
        0b0000011111000000,
        0b0000000111100000,
        0b0000000110110000,
        0b0000000110110000,
        0b0000100110110000,
        0b0000111111110000,
        0b0000011111100000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 37 %
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0001100000010000,
        0b0010010000110000,
        0b0110011001100000,
        0b0110011001000000,
        0b0110011011000000,
        0b0110010010011000,
        0b0010010110100100,
        0b0001100101100110,
        0b0000001101100110,
        0b0000011001100110,
        0b0000010000100100,
        0b0000110000011000,
        0b0001100000000000,
        0b0000000000000000
    },
    // 38 &
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000001111000000,
        0b0000011001100000,
        0b0000010001100000,
        0b0000010001100000,
        0b0000011011000000,
        0b0000011110000000,
        0b0000111100010000,
        0b0001100100010000,
        0b0011000110010000,
        0b0011000011110000,
        0b0011100001100000,
        0b0001110111110000,
        0b0000111110011100,
        0b0000000000000000
    },
    // 39 '
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 40 (
    {
        0b0000000000000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 41 )
    {
        0b0000000000000000,
        0b0000001100000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000000000000000
    },
    // 42 *
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000110110110000,
        0b0000011111100000,
        0b0000000110000000,
        0b0000001111000000,
        0b0000011001100000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 43 +
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000111111110000,
        0b0000111111110000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 44 ,
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000001011000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 45 -
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000111111110000,
        0b0000111111110000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 46 .
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 47 /
    {
        0b0000000000000000,
        0b0000000001100000,
        0b0000000001100000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000110000000000,
        0b0000110000000000,
        0b0001100000000000,
        0b0001100000000000,
        0b0000000000000000
    },
    // 48 0
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0000110001100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001101110110000,
        0b0001101110110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000110001100000,
        0b0000111111100000,
        0b0000011111000000,
        0b0000000000000000
    },
    // 49 1
    {
        0b0000000000000000,
        0b0000001110000000,
        0b0000011110000000,
        0b0000110110000000,
        0b0000100110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000111111110000,
        0b0000111111110000,
        0b0000000000000000
    },
    // 50 2
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000000001100000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000011000000000,
        0b0000110000000000,
        0b0001111111110000,
        0b0001111111110000,
        0b0000000000000000
    },
    // 51 3
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000000000110000,
        0b0000000001100000,
        0b0000001111000000,
        0b0000001111100000,
        0b0000000000110000,
        0b0000000000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000111111100000,
        0b0000011111000000,
        0b0000000000000000
    },
    // 52 4
    {
        0b0000000000000000,
        0b0000000011100000,
        0b0000000111100000,
        0b0000000111100000,
        0b0000001101100000,
        0b0000001101100000,
        0b0000011001100000,
        0b0000111001100000,
        0b0000110001100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0011111111111000,
        0b0011111111111000,
        0b0000000001100000,
        0b0000000001100000,
        0b0000000000000000
    },
    // 53 5
    {
        0b0000000000000000,
        0b0001111111110000,
        0b0001111111110000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001111111000000,
        0b0001111111100000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000000000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000111111100000,
        0b0000011111000000,
        0b0000000000000000
    },
    // 54 6
    {
        0b0000000000000000,
        0b0000001111000000,
        0b0000011111100000,
        0b0000110000110000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001101111000000,
        0b0001111111100000,
        0b0001110000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000110000110000,
        0b0000111111100000,
        0b0000001111000000,
        0b0000000000000000
    },
    // 55 7
    {
        0b0000000000000000,
        0b0001111111110000,
        0b0001111111110000,
        0b0000000000110000,
        0b0000000001100000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000000000000
    },
    // 56 8
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000110001100000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000111111100000,
        0b0000011111000000,
        0b0000000000000000
    },
    // 57 9
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100001100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100001110000,
        0b0000111111110000,
        0b0000011110110000,
        0b0000000000110000,
        0b0000000000110000,
        0b0001100001100000,
        0b0000111111100000,
        0b0000011110000000,
        0b0000000000000000
    },
    // 58 :
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000
    },
    // 59 ;
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000001011000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 60 <
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000010000,
        0b0000000001110000,
        0b0000000111000000,
        0b0000111100000000,
        0b0000110000000000,
        0b0000111100000000,
        0b0000000111000000,
        0b0000000001110000,
        0b0000000000010000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 61 =
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0001111111111000,
        0b0001111111111000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0001111111111000,
        0b0001111111111000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 62 >
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000100000000000,
        0b0000111000000000,
        0b0000001110000000,
        0b0000000011110000,
        0b0000000000110000,
        0b0000000011110000,
        0b0000001110000000,
        0b0000111000000000,
        0b0000100000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 63 ?
    {
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000000000110000,
        0b0000000001100000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000000000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000000000000
    },
    // 64 @
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000111111100000,
        0b0001111111111000,
        0b0011100000001100,
        0b0111001110101100,
        0b0110011011101100,
        0b0110110001101100,
        0b0110100001101100,
        0b0110100011001100,
        0b0110110111011000,
        0b0110011101110000,
        0b0011000000000000,
        0b0011110011110000,
        0b0000111111000000,
        0b0000000000000000
    },
    // 65 A
    {
        0b0000000000000000,
        0b0000001110000000,
        0b0000001111000000,
        0b0000011111000000,
        0b0000011111100000,
        0b0000111011100000,
        0b0000111001100000,
        0b0000110001110000,
        0b0001110001110000,
        0b0001111111111000,
        0b0011111111111000,
        0b0011111111111000,
        0b0011000000011100,
        0b0111000000011100,
        0b0111000000001110,
        0b0000000000000000
    },
    // 66 B
    {
        0b0000000000000000,
        0b0011111111110000,
        0b0011111111111000,
        0b0011100000111000,
        0b0011100000111000,
        0b0011100000111000,
        0b0011111111110000,
        0b0011111111100000,
        0b0011111111111000,
        0b0011100000111000,
        0b0011100000011100,
        0b0011100000011100,
        0b0011100000111000,
        0b0011111111111000,
        0b0011111111110000,
        0b0000000000000000,
    },
    // 67 C
    {
        0b0000000000000000,
        0b0000011111110000,
        0b0000111111111100,
        0b0001110000011100,
        0b0011100000001100,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000100,
        0b0011110000001110,
        0b0001111000011100,
        0b0000111111111000,
        0b0000011111110000,
        0b0000000000000000
    },
    // 68 D
    {
        0b0000000000000000,
        0b0011111111100000,
        0b0011111111111000,
        0b0011100000111100,
        0b0011100000011100,
        0b0011100000001110,
        0b0011100000001110,
        0b0011100000001110,
        0b0011100000001110,
        0b0011100000001110,
        0b0011100000001110,
        0b0011100000011100,
        0b0011100000111100,
        0b0011111111111000,
        0b0011111111100000,
        0b0000000000000000
    },
    // 69 E
    {
        0b0000000000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011111111111000,
        0b0011111111111000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0000000000000000
    },
    // 70 F
    {
        0b0000000000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011111111111000,
        0b0011111111111000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0000000000000000
    },
    // 71 G
    {
        0b0000000000000000,
        0b0000011111111000,
        0b0000111111111100,
        0b0001110000011110,
        0b0011100000001110,
        0b0011100000000000,
        0b0011000000000000,
        0b0011000000000000,
        0b0011000001111110,
        0b0011000001111110,
        0b0011100000000110,
        0b0011100000000110,
        0b0001111000001110,
        0b0000111111111100,
        0b0000011111111000,
        0b0000000000000000
    },
    // 72 H
    {
        0b0000000000000000,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011111111111100,
        0b0011111111111100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0000000000000000
    },
    // 73 I
    {
        0b0000000000000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000001111000000,
        0b0000000000000000
    },
    // 74 J
    {
        0b0000000000000000,
        0b0000000111110000,
        0b0000000111110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0000000001110000,
        0b0011100001110000,
        0b0011100001110000,
        0b0001111111100000,
        0b0000111111000000,
        0b0000000000000000
    },
    // 75 K
    {
        0b0000000000000000,
        0b0011100000111100,
        0b0011100001111000,
        0b0011100011110000,
        0b0011100111100000,
        0b0011101111000000,
        0b0011111110000000,
        0b0011111100000000,
        0b0011111110000000,
        0b0011100111000000,
        0b0011100011100000,
        0b0011100001110000,
        0b0011100000111000,
        0b0011100000011100,
        0b0011100000001110,
        0b0000000000000000
    },
    // 76 L
    {
        0b0000000000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001110000000000,
        0b0001111111111000,
        0b0001111111111000,
        0b0000000000000000
    },
    // 77 M
    {
        0b0000000000000000,
        0b0011000000001100,
        0b0011100000011100,
        0b0011100000011100,
        0b0011110000111100,
        0b0011110000111100,
        0b0011110000111100,
        0b0011011001101100,
        0b0011011001101100,
        0b0011011001101100,
        0b0011001111001100,
        0b0011001111001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000000001100,
        0b0000000000000000
    },
    // 78 N
    {
        0b0000000000000000,
        0b0011110000001100,
        0b0011110000001100,
        0b0011111000001100,
        0b0011111100001100,
        0b0011111100001100,
        0b0011101110001100,
        0b0011101110001100,
        0b0011100111001100,
        0b0011100011101100,
        0b0011100011101100,
        0b0011100001111100,
        0b0011100000111100,
        0b0011100000111100,
        0b0011100000011100,
        0b0000000000000000
    },
    // 79 O
    {
        0b0000000000000000,
        0b0000111111110000,
        0b0001111111111000,
        0b0011110000111100,
        0b0011100000011100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011100000011100,
        0b0011110000111100,
        0b0001111111111000,
        0b0000111111110000,
        0b0000000000000000
    },
    // 80 P
    {
        0b0000000000000000,
        0b0011111111100000,
        0b0011111111110000,
        0b0011100000111000,
        0b0011100000011000,
        0b0011100000011000,
        0b0011100000011000,
        0b0011100000111000,
        0b0011111111110000,
        0b0011111111100000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0011100000000000,
        0b0000000000000000
    },
    // 81 Q
    {
        0b0000000000000000,
        0b0000111111100000,
        0b0001111111110000,
        0b0011100000111000,
        0b0011000000011000,
        0b0111000000011100,
        0b0111000000011100,
        0b0111000000011100,
        0b0011000000011000,
        0b0011100000111000,
        0b0001111111110000,
        0b0000111111100000,
        0b0000001110000000,
        0b0000000111110000,
        0b0000000011110000,
        0b0000000000000000
    },
    // 82 R
    {
        0b0000000000000000,
        0b0011111111111000,
        0b0011111111111100,
        0b0011100000011100,
        0b0011100000001100,
        0b0011100000001100,
        0b0011100000011100,
        0b0011111111111100,
        0b0011111111111000,
        0b0011100011100000,
        0b0011100001110000,
        0b0011100000111000,
        0b0011100000011000,
        0b0011100000011100,
        0b0011100000001110,
        0b0000000000000000
    },
    // 83 S
    {
        0b0000000000000000,
        0b0000111111110000,
        0b0001111111111000,
        0b0011100000111000,
        0b0011100000011000,
        0b0011100000000000,
        0b0001111100000000,
        0b0000111111100000,
        0b0000001111111000,
        0b0000000000111000,
        0b0000000000011100,
        0b0011000000011100,
        0b0011100000111100,
        0b0001111111111000,
        0b0000111111110000,
        0b0000000000000000
    },
    // 84 T
    {
        0b0000000000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 85 U
    {
        0b0000000000000000,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0011000000001100,
        0b0001100000011000,
        0b0000111111110000,
        0b0000011111100000,
        0b0000000000000000
    },
    // 86 V
    {
        0b0000000000000000,
        0b0001000000000100,
        0b0011100000001110,
        0b0011100000001110,
        0b0001110000001100,
        0b0001110000011100,
        0b0000111000011000,
        0b0000111000111000,
        0b0000011000111000,
        0b0000011100110000,
        0b0000001101110000,
        0b0000001101100000,
        0b0000001111100000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000
    },
    // 87 W
    {
        0b0000000000000000,
        0b0110000000000110,
        0b0110000000000110,
        0b0110000000000110,
        0b0110000110000110,
        0b0110000110000110,
        0b0110000110000110,
        0b0111001111000110,
        0b0011001111001100,
        0b0011001111001100,
        0b0011001001101100,
        0b0001111001101000,
        0b0001111001111000,
        0b0001110000111000,
        0b0000110000110000,
        0b0000000000000000
    },
    // 88 X
    {
        0b0000000000000000,
        0b0011000000011000,
        0b0011100000111000,
        0b0001110001110000,
        0b0000111011100000,
        0b0000011111000000,
        0b0000001110000000,
        0b0000001110000000,
        0b0000001110000000,
        0b0000011111000000,
        0b0000111011100000,
        0b0001110001110000,
        0b0011100000111000,
        0b0011000000011000,
        0b0011000000011000,
        0b0000000000000000
    },
    // 89 Y
    {
        0b0000000000000000,
        0b0011100000001100,
        0b0001110000011100,
        0b0000110000111000,
        0b0000111000110000,
        0b0000011101110000,
        0b0000001111100000,
        0b0000001111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000111000000,
        0b0000000000000000
    },
    // 90 Z
    {
        0b0000000000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0000000000011100,
        0b0000000000111000,
        0b0000000001110000,
        0b0000000011100000,
        0b0000000111000000,
        0b0000001110000000,
        0b0000011100000000,
        0b0000111000000000,
        0b0001110000000000,
        0b0011110000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0000000000000000
    },
    // 91 [
    {
        0b0000000000000000,
        0b0000001111000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001111000000,
        0b0000000000000000
    },
    // 92 '\'
    {
        0b0000000000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000001100000,
        0b0000000001100000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000000000011000,
        0b0000000000011000,
        0b0000000000000000
    },
    // 93 ]
    {
        0b0000000000000000,
        0b0000001111000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000001111000000,
        0b0000000000000000
    },
    // 94 ^
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000001100000000,
        0b0000001110000000,
        0b0000011010000000,
        0b0000010011000000,
        0b0000110001000000,
        0b0000100001100000,
        0b0001100000100000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 95 _
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0011111111111100,
        0b0011111111111100,
        0b0000000000000000
    },
    // 96 `
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000110000000000,
        0b0000011000000000,
        0b0000001100000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },
    // 97 a
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000011111000000,
        0b0000111111100000,
        0b0000110001100000,
        0b0000000001100000,
        0b0000011111100000,
        0b0000111111100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0001111111110000,
        0b0000111110110000,
        0b0000000000000000
    },
    // 98 b
    {
        0b0000000000000000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001100000000000,
        0b0001101111100000,
        0b0001111111110000,
        0b0001110000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001110000110000,
        0b0001111111110000,
        0b0001101111100000,
        0b0000000000000000
    },
    // 99 c
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000001111100000,
        0b0000011111110000,
        0b0000110000111000,
        0b0000110000010000,
        0b0000110000000000,
        0b0000110000000000,
        0b0000110000010000,
        0b0000110000111000,
        0b0000011111110000,
        0b0000001111100000,
        0b0000000000000000
    },
    // 100 d
    {
        0b0000000000000000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000000000110000,
        0b0000011110110000,
        0b0000111111110000,
        0b0001110001110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001100000110000,
        0b0001110001110000,
        0b0000111111110000,
        0b0000011110110000,
        0b0000000000000000
    },
    // 101 e
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000001111100000,
        0b0000011111110000,
        0b0000110000011000,
        0b0000110000011000,
        0b0000111111111000,
        0b0000110000000000,
        0b0000110000000000,
        0b0000111000011000,
        0b0000011100110000,
        0b0000001111100000,
        0b0000000000000000
    },
    // 102 f
    {
        0b0000000000000000,
        0b0000000111100000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000111111000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000000000000
    },
    // 103 g
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000111111000000,
        0b0000111111100000,
        0b0001110011100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0000110011100000,
        0b0000011111100000,
        0b0000000001100000,
        0b0000110011000000,
        0b0000011110000000
    },
    // 104 h
    {
        0b0000000000000000,
        0b0000110000000000,
        0b0000110000000000,
        0b0000110000000000,
        0b0000110000000000,
        0b0000110111100000,
        0b0000111111110000,
        0b0000111000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000000000000000
    },
    // 105 i
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 106 j
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000011110000000,
        0b0000011100000000
    },
    // 107 k
    {
        0b0000000000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000011000,
        0b0000011000110000,
        0b0000011001100000,
        0b0000011011000000,
        0b0000011110000000,
        0b0000011110000000,
        0b0000011011000000,
        0b0000011001100000,
        0b0000011000110000,
        0b0000011000011000,
        0b0000011000001000,
        0b0000000000000000
    },
    // 108 l
    {
        0b0000000000000000,
        0b0000011110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000111100000,
        0b0000000011100000,
        0b0000000000000000
    },
    // 109 m
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0011011101111000,
        0b0011100111001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0011000110001100,
        0b0000000000000000
    },
    // 110 n
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000110111000000,
        0b0000111001100000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000000000000000
    },
    // 111 o
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000001111000000,
        0b0000011001100000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000011001100000,
        0b0000001111000000,
        0b0000000000000000
    },
    // 112 p
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000011111100000,
        0b0000011100110000,
        0b0000011000011000,
        0b0000011000011000,
        0b0000011000011000,
        0b0000011000011000,
        0b0000011100110000,
        0b0000011111100000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000
    },
    // 113 q
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000011111100000,
        0b0000110011100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0001100001100000,
        0b0000110011100000,
        0b0000011111100000,
        0b0000000001100000,
        0b0000000001100000,
        0b0000000001100000
    },
    // 114 r
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000001011100000,
        0b0000001111000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000000000000000
    },
    // 115 s
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000011111000000,
        0b0000111001100000,
        0b0000110000100000,
        0b0000111100000000,
        0b0000011111000000,
        0b0000000111100000,
        0b0000000000110000,
        0b0000100000110000,
        0b0000111001110000,
        0b0000011111100000,
        0b0000000000000000
    },
    // 116 t
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000001000000000,
        0b0000011000000000,
        0b0000111110000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011000000000,
        0b0000011100000000,
        0b0000001110000000,
        0b0000000000000000
    },
    // 117 u
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000110000110000,
        0b0000011001110000,
        0b0000001111010000,
        0b0000000000000000
    },
    // 118 v
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0001100000110000,
        0b0001100000110000,
        0b0000110000110000,
        0b0000110001100000,
        0b0000011001100000,
        0b0000011001100000,
        0b0000011011000000,
        0b0000001111000000,
        0b0000001110000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 119 w
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0011000000011000,
        0b0011000000011000,
        0b0011000100011000,
        0b0011001110011000,
        0b0011001110011000,
        0b0011001010011000,
        0b0001111010110000,
        0b0001110011110000,
        0b0000110001100000,
        0b0000110001100000,
        0b0000000000000000
    },
    // 120 x
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000110000110000,
        0b0000111001110000,
        0b0000011101100000,
        0b0000001111000000,
        0b0000000110000000,
        0b0000001111000000,
        0b0000011101100000,
        0b0000111001110000,
        0b0000110000110000,
        0b0000000000000000
    },
    // 121 y
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000110000110000,
        0b0000011000100000,
        0b0000011001100000,
        0b0000001001100000,
        0b0000001101000000,
        0b0000000111000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000100000000,
        0b0000001100000000,
        0b0000111000000000
    },
    // 122 z
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000111111110000,
        0b0000000000110000,
        0b0000000001100000,
        0b0000000011000000,
        0b0000000110000000,
        0b0000001100000000,
        0b0000011000000000,
        0b0000110000000000,
        0b0000111111110000,
        0b0000000000000000
    },
    // 123 {
    {
        0b0000000000000000,
        0b0000000111100000,
        0b0000001110000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000111000000000,
        0b0001110000000000,
        0b0000111000000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001100000000,
        0b0000001110000000,
        0b0000000111100000,
        0b0000000000000000
    },
    // 124 |
    {
        0b0000000000000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000110000000,
        0b0000000000000000
    },
    // 125 }
    {
        0b0000000000000000,
        0b0000011110000000,
        0b0000000111000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000001110000,
        0b0000000000111000,
        0b0000000001110000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000011000000,
        0b0000000111000000,
        0b0000011110000000,
        0b0000000000000000
    },
    // 126 ~
    {
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0001111110001000,
        0b0001000111111000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000,
        0b0000000000000000
    },

};

void bitmap_draw_char(char ch, int x, int y, int color) {
    int temp = 0, pix_data = 0;

    for (int i = 0; i < BITMAP_SIZE; i++) {
        temp = x;
        x += BITMAP_SIZE;
        pix_data = ASCII_BITMAPS[(int)ch][i];
        while (pix_data > 0) {
            if (pix_data & 1) {
                vbe_putpixel(x, y, color);
            }
            pix_data >>= 1;
            x--;
        }
        x = temp;
        y++;
    }
}


void bitmap_draw_string(const char *str, int x, int y, int color) {
    int new_x = x;
    int new_y = y;
    while (*str) {
        bitmap_draw_char(*str, new_x, new_y, color);
        str++;
        new_x += 14;
        if (new_x > (int)vbe_get_width()) {
            new_y += 17;
            new_x = x;
        }
    }
}

void bitmap_draw_string_upper(char *str, int x, int y, int color) {
    char *old_str = str;
    while (*str) {
        *str = upper(*str);
        str++;
    }
    bitmap_draw_string(old_str, x, y, color);
}
